Skip to content

fix(ci): fix Windows build and upgrade Lux + action dependencies - #63

Merged
tkolleh merged 1 commit into
mainfrom
fix/windows-build-lux-upgrade
Apr 19, 2026
Merged

fix(ci): fix Windows build and upgrade Lux + action dependencies#63
tkolleh merged 1 commit into
mainfrom
fix/windows-build-lux-upgrade

Conversation

@tkolleh

@tkolleh tkolleh commented Apr 19, 2026

Copy link
Copy Markdown
Owner

Summary

Fixes the failing Windows release artifact build (Build Release Artifacts (windows-latest, windows-x86_64, windows)) and upgrades all pinned action dependencies to Node.js 24-compatible versions.

Root Causes Fixed

The Windows build had three compounding failures:

  1. luastatic not on PATHlx exec spawns a subprocess that doesn't inherit the MSYS2 PATH, so gcc (called by luastatic via os.execute()) was not found. Fixed by prepending /ucrt64/bin to PATH inside the compile recipe and adding an explicit GITHUB_PATH step in the workflow.

  2. spin.exe not renamed to roda.exeluastatic produces spin.exe on Windows, but the recipe unconditionally ran mv lua/spin roda. Fixed with a just os() conditional.

  3. Missing Win32 compile flagsluasystem's src/core.c requires -D_WIN32_WINNT=0x0601 for proper Win32 API header resolution under MinGW-w64 UCRT64, and the final link step needs -lwinmm -lws2_32. Both added.

Changes

justfile

  • build-system: Add -D_WIN32_WINNT=0x0601 compile flag on Windows
  • compile: Prepend /ucrt64/bin to PATH for lx exec subprocess; add -lwinmm -lws2_32 linker flags on Windows; rename spin.exeroda.exe on Windows via os() conditional

.github/workflows/release-please.yml

  • Pin Windows runner to windows-2022 (non-rolling)
  • Add GITHUB_PATH step for Lux build-deps bin dir (Windows only)
  • Set CC=gcc explicitly in Windows build branch
  • Upgrade actions/checkout v4.2.2 → v6.0.2 (SHA pinned)
  • Upgrade msys2/setup-msys2 v2.24.1 → v2.31.1 (SHA pinned)
  • Upgrade gh-actions-lux v1.0.0 → v1.0.1 (SHA pinned)
  • Upgrade Lux CLI 0.28.00.28.2 (includes Windows lib prefix fix)

.github/workflows/tests.yml + publish.yml

  • Upgrade actions/checkout v4.2.2 → v6.0.2 (SHA pinned, 3 occurrences)
  • Upgrade gh-actions-lux v1.0.0 → v1.0.1 (SHA pinned)
  • Upgrade Lux CLI 0.28.00.28.2

Dependency Upgrade Rationale

Dependency Old New Reason
Lux CLI 0.28.0 0.28.2 Windows lib prefix fix (lux-lib: drop lib prefix on Windows)
actions/checkout v4.2.2 v6.0.2 Node.js 20 deprecated; forced to Node.js 24 on 2026-06-02
gh-actions-lux v1.0.0 v1.0.1 Initial Marketplace release
msys2/setup-msys2 v2.24.1 v2.31.1 Node.js 20 deprecated; forced to Node.js 24 on 2026-06-02

Testing

The Windows build job should now complete successfully. The Linux and macOS jobs are unaffected — the os() conditionals in the justfile evaluate to the else branch on those platforms, and the workflow PATH step is gated on matrix.target == 'windows'.

Windows build fixes (justfile, release-please.yml):
- Pin Windows runner to windows-2022 (non-rolling, predictable)
- Add explicit GITHUB_PATH step for Lux build-deps bin dir so luastatic
  is on PATH when lx exec spawns its subprocess
- Prepend /ucrt64/bin to PATH inside compile recipe to ensure gcc is
  visible to luastatic's os.execute() call on MSYS2
- Add -D_WIN32_WINNT=0x0601 flag to build-system for Win32 API compat
- Add -lwinmm -lws2_32 linker flags to compile for luasystem on Windows
- Use just os() conditional to rename spin.exe -> roda.exe on Windows
- Set CC=gcc explicitly in workflow Windows branch

Dependency upgrades (all workflow files):
- Lux CLI 0.28.0 -> 0.28.2 (includes Windows lib prefix fix in lux-lib)
- actions/checkout v4.2.2 -> v6.0.2 (Node.js 24 compatible, 4 occurrences)
- gh-actions-lux v1.0.0 -> v1.0.1 (initial Marketplace release)
- msys2/setup-msys2 v2.24.1 -> v2.31.1 (Node.js 24 compatible)

Resolves Node.js 20 deprecation warnings (forced cutover 2026-06-02)
@tkolleh
tkolleh marked this pull request as ready for review April 19, 2026 23:20
@tkolleh
tkolleh merged commit b693dab into main Apr 19, 2026
2 checks passed
@tkolleh
tkolleh deleted the fix/windows-build-lux-upgrade branch April 19, 2026 23:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant